home *** CD-ROM | disk | FTP | other *** search
/ The X-Philes (2nd Revision) / The X-Philes Number 1 (1995).iso / xphiles / hp48hor2 / sky.src < prev    next >
Text File  |  1992-01-11  |  8KB  |  352 lines

  1. %%HP: T(3)A(D)F(.);
  2. @ SKY by Chris Heilman
  3. DIR
  4.   NOW
  5.     \<< RCLF
  6. # 800CC3F0h STOF
  7. DATE "date" \->TAG
  8. TIME "time" \->TAG
  9. ROT STOF
  10.     \>>
  11.   SKY
  12.     \<< Lat COS 'Lc'
  13. STO Lat SIN 'Ls'
  14. STO RCLF \-> f
  15.       \<<
  16.         IFERR DUP2
  17. Sa \-> d t sa
  18.           \<<
  19. # 800CC3F0h STOF
  20. CLLCD d t TSTR 1
  21. DISP
  22. " The Sky
  23.  \169 1991 by C. Heilman
  24.  
  25.  Wait 3 minutes."
  26. 3 DISP # 95h # 95h
  27. PDIM (94.4,94.4)
  28. PMIN (-94.4,-94.4)
  29. PMAX POLAR { # 4Ah
  30. # 4Ah } # 49h 0 361
  31. ARC PICT NEG { # 9h
  32. # 2Ah } PVIEW 1 168
  33.             FOR n
  34. [ 280305.58 383460.65 333493.57 760122.64 760184.69 563550.61 133517.69 183555.65 550254.64 643520.63 2350318.4 2080287.46 1970479.64 2130448.66 2110487.69 1650690.29 2860816.37 2120844.5 2410569.9 1250602.55 3191137.36 2801163.31 1640994.39 2250958.49 1191346.63 921241.55 1821312.59 2881317.6 1201521.34 1461773.41 1991550.4 2051685.46 2381465.5 -1122013.29 -151904.48 -1612227.48 -942293.46 -1982281.65 -2642474.29 -1982414.46 -2262401.43 -3432526.43 -3712634.36 -3902656.44 -4302643.39 -2612397.49 1262637.41 -1572576.44 -2502605.53 252714.6 -3042715.5 -2982753.47 -3442761.39 -2992857.46 -3682744.51 -2542770.48 -2102875.49 -2702814.52 -2632838.4 -2772867.53 -1483053.51 -1613268.49 -1723165.61 -33315.5 -563229.49 -143354.58 -1583437.53 3372.57 -13389.6 143363.67 8930380.9 7422227.41 7182302.51 8202515.62 6181659.38 5641655.44 5371785.44 5701839.53 5601935.38 5492010.41 4932069.39 6442111.57 5232626.48 5152692.42 6772882.51 6572572.52 6152460.47 5902312.53 6263197.44 7063222.52 7763548.52 5650101.42 5920023.43 6070142.45 6020215.47 6370286.54 2672337.42 2912320.57 2612374.66 2692394.62 3142332.61 740888.25 -820786.21 640813.36 -30830.42 -120841.37 -200852.38 -970870.41 990838.54 700725.52 4600792.21 4500899.39 3720899.46 3320743.47 2910021.41 4130112.9 1523462.45 2813460.44 1520033.48 -871419.4 -3391782.63 -2321997.5 -1621624.51 410456.45 -1800109.41 -300348.4 -1590260.55 -1350595.5 -950532.57 -6102199.2 -4252074.5 -4742205.43 -4312246.47 -4122338.48 -4072304.52 -3410849.46 -3580878.51 -3530894.64 -1671013.05 -2641071.38 -2901047.35 1422587.51 2132476.48 3882792.2 3342825.55 4533104.33 2802927.51 -4703321.37 -4693407.41 -1780832.46 -2240764.52 -4230066.44 -4330221.54 1922139.2 4042255.55 2591856.68 2261887.68 2960283.54 3500324.5 4990511.38 4100471.41 521148.24 -2963444.32 -5270960.13 892977.28 -4731224.38 642361.47 -4001209.43 ]
  35. n GET DUP SIGN SWAP
  36. ABS DUP FP 10 * 2 -
  37. SWAP IP 10000 / ROT
  38. OVER IP 10 / * SWAP
  39. FP 1000 * sa SWAP -
  40. Hx \->P \-> mag r \Gh
  41.               \<< r
  42. 90
  43. IF <
  44. THEN PICT r \Gh \->V2
  45.   CASE mag -.5 <
  46.     THEN
  47. GROB 7 7 77553E803E5D7F
  48.     END mag .2 <
  49.     THEN
  50. GROB 7 7 77773E803E7F7F
  51.     END mag .9 <
  52.     THEN
  53. GROB 7 7 77773E003E7F7F
  54.     END mag 1.5 <
  55.     THEN
  56. GROB 5 5 B1110E11BF
  57.     END mag 2.5 <
  58.     THEN
  59. GROB 3 3 50005E
  60.     END mag 3 <
  61.     THEN
  62. GROB 2 2 0000
  63.     END mag 6.5 <
  64.     THEN
  65. GROB 1 1 00
  66.     END mag 7 ==
  67.     THEN
  68. GROB 3 3 502050
  69.     END GROB 1 1 10
  70.   END REPL
  71. END TK
  72.               \>>
  73.             NEXT 9
  74. 1
  75.             FOR p
  76.               IF p
  77. 3 \=/
  78.               THEN
  79. p d t PLANET E\->C sa
  80. ROT - Hx \->P OVER 90
  81. IF <
  82. THEN \->V2 PICT SWAP
  83. {
  84. GROB 9 11 1010EF00AB006C00AB006C00EE006C00EE00EF001010
  85. GROB 9 11 3810D7106C00AB00AB006C00EE006C00EE00D7103810
  86. 0
  87. GROB 10 10 1020EF10E110E3106410AD10AD106E10EF101020
  88. GROB 9 11 1010EF002F00EC006D00AD002800ED00ED00EF001010
  89. GROB 9 11 1010EF006F002E006D006A006B006D006900EF001010
  90. GROB 7 9 F7773677B655D536F7
  91. GROB 7 7 F75555367777F7
  92. GROB 5 7 F1915191D111F1
  93. } p GET REPL
  94. ELSE DROP2
  95. END
  96.               END
  97. TK -1
  98.             STEP d
  99. t MOON ROT ROT E\->C
  100. sa ROT - Hx \->P OVER
  101. 90
  102.             IF <
  103.             THEN
  104. \->V2 PICT SWAP ROT
  105. 10 * 1 + {
  106. GROB 8 8 7EDBFFE7E7FFDB7E
  107. GROB 8 8 7E99DBE7E7DB997E
  108. GROB 8 8 7E99DBE3E3DB997E
  109. GROB 8 8 7E99D9E3E3D9997E
  110. GROB 8 8 7E98D9E1E1D9987E
  111. GROB 8 8 7E98D8E0E0D8987E
  112. GROB 8 8 7E98D86060D8987E
  113. GROB 8 8 7E9858606058987E
  114. GROB 8 8 7E1858606058187E
  115. GROB 8 8 7E1858202058187E
  116. GROB 8 8 7E1818000018187E
  117. } SWAP GET REPL
  118.             ELSE
  119. DROP2 DROP
  120.             END TK
  121. d t SUN DROP 0 E\->C
  122. sa ROT - Hx \->P OVER
  123. 90
  124.             IF <
  125.             THEN
  126. \->V2 PICT SWAP
  127. GROB 8 8 3CDBE76666E7DB3C
  128. REPL
  129.             ELSE
  130. DROP2
  131.             END TK
  132.           \>> { }
  133. PVIEW f STOF
  134.         THEN f STOF
  135. ERRN DOERR
  136.         END
  137.       \>>
  138.     \>>
  139.   SUN
  140.     \<< D
  141. .985647356387 * K
  142. DUP 3.365119 - DUP
  143. SIN 1.1915168726 *
  144. ROT + 279.403303 +
  145. K 4 RND "\Gl." \->TAG
  146. SWAP
  147.     \>>
  148.   MOON
  149.     \<< DUP2 D ROT
  150. ROT SUN ROT DUP
  151. 13.176396 *
  152. 318.351648 + K DUP2
  153. SWAP .1114041 * -
  154. 36.34041 - K ROT
  155. 318.510107 SWAP
  156. .0529539 * - K \-> ls
  157. ms l Mm n
  158.       \<< l ls - 2 *
  159. Mm - SIN 1.2739 *
  160. Mm OVER + ms SIN
  161. .1858 * SWAP OVER -
  162. ms SIN .37 * - ROT
  163. OVER SIN 6.2886 * +
  164. ROT - SWAP 2 * SIN
  165. .214 * + l + DUP ls
  166. - 2 * SIN .6583 * +
  167. DUP n ms SIN .16 *
  168. - SWAP OVER - DUP
  169. SIN .995970320973 *
  170. OVER COS A ROT + K
  171. 4 RND "\Glm" \->TAG
  172. SWAP SIN
  173. 8.96834418471E-2 *
  174. ASIN 4 RND "\Gbm"
  175. \->TAG ROT ls - COS 1
  176. SWAP - 2 / 4 RND
  177. "phase" \->TAG
  178.       \>>
  179.     \>>
  180.   PLANET
  181.     \<< D
  182. .985647356387 * \-> p
  183. d
  184.       \<< 1 7
  185.         FOR i
  186. [[ .240852 60.750646 77.299833 .205633 .387099 7.00454 48.21274 ]
  187.  [ .615211 88.455855 131.430236 .006778 .723332 3.394535 76.58982 ]
  188.  [ 1.00004 99.403308 102.768413 .016713 1 0 0 ]
  189.  [ 1.880932 240.739474 335.874939 .093396 1.523688 1.849736 49.480308 ]
  190.  [ 11.863075 90.638185 14.170747 .048482 5.202561 1.303613 100.353142 ]
  191.  [ 29.471362 287.690033 92.861407 .055581 9.554747 2.48898 113.576139 ]
  192.  [ 84.039492 271.063148 172.884833 .046321 19.21814 .773059 73.926961 ]
  193.  [ 164.79246 282.349556 48.009758 .009003 30.10957 1.770646 131.670599 ]
  194.  [ 246.77027 221.4127 224.133 .24624 39.3414 17.142 110.144 ]]
  195. p i 2 \->LIST GET
  196.         NEXT \-> p1
  197. p2 p3 p4 p5 p6 p7
  198.         \<< d p1 / K
  199. DUP p2 + p3 - SIN
  200. p4 * 114.591559026
  201. * p2 + + K DUP p3 -
  202. COS p4 * 1 + 1 p4
  203. SQ - p5 * SWAP / d
  204. 1.00004 / K DUP
  205. 3.365105 - SIN
  206. 1.915168726 *
  207. 99.403308 + + K DUP
  208. 102.768413 - COS
  209. .016713 * 1 +
  210. .999720675631 SWAP
  211. / \-> l r L R
  212.           \<< p6 SIN
  213. l p7 - SIN * ASIN
  214. DUP COS r * p6 COS
  215. l p7 - SIN * l p7 -
  216. COS A p7 + \-> psi r
  217. l
  218.             \<< p
  219.               IF 3
  220. >
  221.               THEN
  222. l L - SIN R * r l L
  223. - COS R * - A l + K
  224.               ELSE
  225. L l - SIN r * R L l
  226. - COS r * - A 180 +
  227. L + K
  228.               END 4
  229. RND "\Gl" p + \->TAG
  230. DUP l - SIN psi TAN
  231. * r * l L - SIN R *
  232. A DUP ABS
  233.               IF 90
  234. >
  235.               THEN
  236. DUP SIGN NEG 180 *
  237. MOD
  238.               END 4
  239. RND "\Gb" p + \->TAG
  240.             \>>
  241.           \>>
  242.         \>>
  243.       \>>
  244.     \>>
  245.   E\->C
  246.     \<< Ex - A2 "\Ga"
  247. \->TAG Ey + ASIN "\Gd"
  248. \->TAG
  249.     \>>
  250.   C\->H
  251.     \<< Sa ROT - Hx
  252. "A" \->TAG SWAP "a"
  253. \->TAG SWAP
  254.     \>>
  255.   H\->C
  256.     \<< Sa ROT ROT Hx
  257. ROT SWAP - "\Ga" \->TAG
  258. SWAP "\Gd" \->TAG
  259.     \>>
  260.   C\->E
  261.     \<< Ex + A2 "\Gl"
  262. \->TAG Ey - ASIN "\Gb"
  263. \->TAG
  264.     \>>
  265.   Long 112.0509
  266.   Lat 33.2958
  267.   Zone 7
  268.   Sa
  269.     \<< Zone HMS+
  270. HMS\-> 1.002737909 *
  271. SWAP DUP IP SWAP FP
  272. 100 * DUP IP SWAP
  273. FP 10000 * \-> m d y
  274.       \<<
  275.         IF m 3 <
  276.         THEN -1 'y'
  277. STO+ 12 'm' STO+
  278.         END y 100 /
  279. IP DUP 4 / IP 2 +
  280. SWAP NEG + y 365.25
  281. * IP m 1 + 30.6001
  282. * IP + + d +
  283. 730550.5 - 36525 /
  284. DUP SQ .000025862 *
  285. SWAP 2400.051336 *
  286. 6.697374558 + + +
  287. 15 * Long - K
  288.       \>>
  289.     \>>
  290.   A
  291.     \<< RCLF \-> f
  292.       \<< # 3F0h STOF
  293. SWAP \->V2 # C3F0h
  294. STOF V\-> SWAP DROP f
  295. STOF
  296.       \>>
  297.     \>>
  298.   Lc .835847604597
  299.   Ls .548961548644
  300.   Hx
  301.     \<< \-> y x
  302.       \<< y SIN Ls *
  303. y COS Lc * x COS *
  304. + ASIN y SIN OVER
  305. SIN Ls * - OVER COS
  306. Lc * / ACOS x SIN
  307.         IF 0 >
  308.         THEN 360
  309. SWAP -
  310.         END
  311.       \>>
  312.     \>>
  313.   Ey
  314.     \<< ROT ROT DUP
  315. SIN .917464059944 *
  316. ROT SIN
  317. .397818675669 * ROT
  318. COS *
  319.     \>>
  320.   Ex
  321.     \<< DUP2 TAN
  322. .397818675669 *
  323. SWAP SIN
  324. .917464059944 *
  325. SWAP
  326.     \>>
  327.   A2
  328.     \<< 3 PICK COS A
  329. K
  330.     \>>
  331.   \->P
  332.     \<< 90 - K 90 ROT
  333. - SWAP
  334.     \>>
  335.   D
  336.     \<< Zone -
  337. 1.01199 ROT DDAYS 1
  338. + SWAP 24 / +
  339.     \>>
  340.   K
  341.     \<< 360 MOD
  342.     \>>
  343.   TK
  344.     \<< 1200 .0005
  345. BEEP
  346.     \>>
  347.   PPAR {
  348. (94.4,94.4)
  349. (-94.4,-94.4) X 0
  350. (0,0) POLAR Y }
  351. END
  352.